home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fatted Calf
/
The Fatted Calf.iso
/
Applications
/
Games
/
NeXTmille
/
Source
/
TrafficLightView.m
< prev
next >
Wrap
Text File
|
1991-01-11
|
2KB
|
60 lines
/* Generated by Interface Builder */
#import "TrafficLightView.h"
#import "cards.h"
#import "cheap_strings.h"
#import "draw_ball.h"
#import <appkit/graphics.h>
#import <assert.h>
// These data structures specify circle information to draw
// the read and green lights and two smaller balls that depict
// the traffic light lit. For example, the roll card has the stop
// light drawn in black the the green light in light gray. The balls
// are therefore drawn in light gray. The stop light draws the
// green light in black and the red light in dark gray. The balls
// are therefore drawn in dark gray.
float redLight[] = { 40 + 10.0, 90 + 10.0, ( 18 / 2 ) },
greenLight[] = { 40 + 10.0, 40 + 10.0, ( 18 / 2 ) },
ulBall[] = { 9 + 6.1090, 130 + 6.1090, ( 11 / 2 ) },
lrBall[] = { 80 + 6.1090, 9 + 6.1090, ( 11 / 2 ) };
@implementation TrafficLightView
- init
{
[ super init ];
bottomFaceBitmap = [[ CardImage allocFromZone:cardZone ] initFromFile:TRAFFIC_LIGHT_TEMPLATE_BOTTOM_FACE ];
assert( bottomFaceBitmap );
return self;
}
- drawSelf:( const NXRect * )rects :( int )rectCount
{
assert( label );
[ super drawSelf:rects :rectCount ];
if( !showTopFaceFlag ) {
float nameBox[] = { 52, 129, 42, 14 };
draw_ball( redLightColor, redLight );
draw_ball( greenLightColor, greenLight );
draw_ball( ballAndLabelColor, ulBall );
draw_ball( ballAndLabelColor, lrBall );
draw_string( nameBox, ballAndLabelColor, 14.0, label );
}
return self;
}
@end